package com.example.tms.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.tms.entity.AIAnalysis;
import com.example.tms.mapper.AIMapper;

/**
 * AI分析服务
 * 提供AI分析记录的业务逻辑处理
 */
@Service
public class AIService {

    @Autowired
    private AIMapper aiMapper;

    /**
     * 获取所有AI分析记录
     * @return AI分析记录列表
     */
    public List<AIAnalysis> selectAll() {
        return aiMapper.selectList(null);
    }

    /**
     * 根据ID查询AI分析记录
     * @param id 分析记录ID
     * @return 分析记录详情
     */
    public AIAnalysis selectById(Integer id) {
        return aiMapper.selectById(id);
    }

    /**
     * 根据类型查询AI分析记录
     * @param type 分析类型(员工/部门)
     * @return 该类型的分析记录列表
     */
    public List<AIAnalysis> selectByType(String type) {
        return aiMapper.selectByType(type);
    }

    /**
     * 新增AI分析记录
     * @param aiAnalysis 分析记录信息
     * @return 影响行数
     */
    public int insert(AIAnalysis aiAnalysis) {
        return aiMapper.insert(aiAnalysis);
    }

    /**
     * 更新AI分析记录
     * @param aiAnalysis 分析记录信息
     * @return 影响行数
     */
    public int update(AIAnalysis aiAnalysis) {
        return aiMapper.updateById(aiAnalysis);
    }

    /**
     * 软删除AI分析记录
     * @param id 分析记录ID
     * @return 影响行数
     */
    public int deleteById(Integer id) {
        return aiMapper.deleteById(id);
    }

    /**
     * 根据员工ID查询AI分析记录
     * @param empId 员工ID
     * @return 该员工的AI分析记录列表
     */
    public List<AIAnalysis> selectByEmpId(Integer empId) {
        return aiMapper.selectByEmpId(empId);
    }

    /**
     * 根据部门ID查询AI分析记录
     * @param depId 部门ID
     * @return 该部门的AI分析记录列表
     */
    public List<AIAnalysis> selectByDepId(Integer depId) {
        return aiMapper.selectByDepId(depId);
    }
}
